#import <UIKit/UIKit.h>

/**
 * An EventViewerDelegate is a protocol for a delegate that handles
 * events from within an event viewer.
 *
 * @author      James Lin
 * @version     0.3.6
 * @since       0.3.6
 */
@protocol EventViewerDelegate <NSObject>

/**
 * Handle a request to bookmark a given event.
 *
 * Bookmarked events should be treated as persistent data.
 *
 * @param event  the event to bookmark
 * @return       whether request was granted and successful
 */
- (BOOL)eventShouldBookmark:(SFUEvent*)event;

/**
 * Handle a request to delete a given bookmarked event.
 *
 * Bookmarked events should be treated as persistent data.
 *
 * @param event  the bookmarked event to delete
 * @return       whether request was granted and successful
 */
- (BOOL)eventShouldDelete:(SFUEvent*)event;

@optional

/**
 * Handle a request to view the location of a given event.
 *
 * @param event  the event to bookmark
 * @return       whether request was granted and successful
 */
- (void)viewLocationOfEvent:(SFUEvent*)event;

@end
